Some conventional flash memory and other solid-state memory devices implement multi-level cell (MLC) memory elements to store multiple bits of data in the same memory cell. Storing multiple bits of data in the same memory element increases the capacity of the flash memory. In general, the MLC memory elements are programmable to multiple states, which are each characterized by separate voltage thresholds. As an example, a two-bit MLC memory element can be programmed to one of four different states, each state corresponding to a unique voltage range.
Newer memory elements typically have much greater accuracy than older memory elements. Taking advantage of the greater accuracy of newer memory elements may help increase the longevity of the devices. However, storing multiple bits of data in the MLC memory elements also typically decreases the longevity of the device in various ways, including the number of times each memory element can be accurately written, the number of times each memory element can be accurately read per write, and the ability to maintain the accuracy of the data, for example, when the flash memory is not powered, is operating at high temperatures, or under other conditions.
Throughout the description, similar reference numbers may be used to identify similar elements.